package com.lonely.fx;

import javafx.application.Application;
import javafx.geometry.NodeOrientation;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ButtonBar;
import javafx.stage.Stage;

/**
 * @date: 2022-07-16 15:20
 * @author: ztkj-hzb
 * @description:
 **/
public class ButtonBarSettingMain extends Application {

    public static void main(String[] args) {
        launch(args);
    }

    /**
     *
     */
    @Override
    public void start(Stage primaryStage) throws Exception {


        ButtonBar buttonBar = new ButtonBar();

        Button button1 = new Button("篮球");
        Button button2 = new Button("足球");
        Button button3 = new Button("羽毛球");

        //在给定的按钮上设置给定的 ButtonData。如果此按钮随后被放置在ButtonBar中，它将被放置在相对于栏中所有其他按钮的正确位置
        ButtonBar.setButtonData(button1, ButtonBar.ButtonData.APPLY);
        ButtonBar.setButtonData(button1, ButtonBar.ButtonData.CANCEL_CLOSE);
        ButtonBar.setButtonData(button1, ButtonBar.ButtonData.HELP);

        //设置按钮的展示位置，默认根据操作系统来，如果设置为 NONE，则根据添加进组件的顺序来
        buttonBar.setButtonOrder(ButtonBar.BUTTON_ORDER_NONE);

        //ButtonBar里的组件大小默认是取组件里的最大值，然后统一标准，当然我们也可以限制
        button1.setPrefWidth(200);
        button2.setPrefWidth(150);
        //TODO 设置指定组件的大小不与其他组件同步，uniformSize:默认为true，同步，  false：不同步
        ButtonBar.setButtonUniformSize(button1, false);


        buttonBar.setNodeOrientation(NodeOrientation.LEFT_TO_RIGHT);

        buttonBar.getButtons().addAll(button1, button2, button3);
        primaryStage.setScene(new Scene(buttonBar));
        primaryStage.setWidth(600);
        primaryStage.setHeight(500);
        primaryStage.show();

    }
}
